home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / mix / mix.h < prev    next >
C/C++ Source or Header  |  2005-10-18  |  4KB  |  95 lines

  1. #ifndef MIX_H
  2. #define MIX_H
  3.  
  4. #ifndef __cplusplus
  5. #define LMNEW(a,b) (a *)malloc(b)
  6. #define LMDELETE(n) free(n)
  7. #else
  8. #define LMNEW(a,b) new a[b]
  9. #define LMDELETE(n) delete n
  10. #endif
  11.  
  12. #include "aes.h"
  13. #include "misc.h"
  14. #include "net.h"
  15.  
  16. #define libmix_version "v2.05"
  17.  
  18. /* advanced encryption standard interface */
  19.  
  20. #define CAST256         0x01    /* medium speed, big keyspace */
  21. #define MARS            0x02    /* fast speed, medium keyspace */
  22. #define SAFERP          0x03    /* slow speed, extremely big keyspace */
  23. #define TWOFISH         0x04    /* fast speed, medium keyspace */
  24. #define RIJNDAEL        0x05    /* medium-fast speed, medium-big keyspace */
  25.  
  26. extern short alg;        /* algorithm selector */
  27. extern short aes_binary;    /* to disable base64 encoding */
  28.  
  29. int lm_keywillwork (int algorithm, u1byte *testkey);
  30. u4byte *aes_key (const char *);    /* set a key */
  31. u1byte *aes_encrypt (const u1byte * in, int *);        /* return encrypted data */
  32. u1byte *aes_decrypt (const u1byte *, int);    /* return decrypted data */
  33. u1byte *aes_hash (const s1byte *);    /* return AES digest */
  34. s1byte *base64_in (const u1byte *, int);    /* return base64'd data */
  35. u1byte *base64_out (const s1byte *, int);    /* return un-base64'd data */
  36.  
  37. /* miscellaneous functions interface */
  38.  
  39. int exclude_parse(FILE *);    /* parse line in CIDR notation */
  40. void exclude_list(void);    /* dump exclude database to stdout */
  41. int excluded(unsigned int addr);/* check address against database */
  42. void exclude_free(void);    /* free exclude database */
  43. long getrandom (int, int);    /* return random number between arg1 and arg2 */
  44. #ifndef __cplusplus
  45. void sighandler (void *);    /* install sighandler for common interrupt events */
  46. #endif
  47. void strchop (char *);        /* cut string at first newline with \0 */
  48. void strlower (char *);        /* convert all uppercase alpha to lowercase alpha */
  49. void strnsubst (char *, char, int);    /* substitute \0's in a string */
  50. char *strscpy (char *, char *, char *, char);    /* separate a string */
  51. void ioterm (int, int, int);    /* 3rd variable selects encryption */
  52. int pattern (char *, char **);    /* list should always have 2 trailing NULLs */
  53. void log (char *, char *,...);    /* try logging arg2-N into file arg1 */
  54. void fatal (char *,...);    /* print error and die */
  55. void disguise (char *, int, char **);    /* disguise process name */
  56. int isactive (char *);
  57. char * nstrdup (const char *);
  58. int sexecve(int argc, char **argv, char **envp, char *newpath, char *newexec);
  59. int sexec(char *path, char *newpath, char *arg0, char *arg1, char *arg2, char *arg3);
  60. int lm_scan_run (FILE *, lm_callback, int);
  61.  
  62. /* network functions interface */
  63.  
  64. int isip (char *);
  65. unsigned long resolve (char *);
  66. char *lm_ntoa(unsigned int, char *);
  67. unsigned int lm_addr(char *);
  68. /* ntoa() is depreceated */
  69. char *ntoa (unsigned int);
  70. unsigned short sum (unsigned short *, int);
  71. void tcpsum (char *, struct lmip *, struct lmtcp *, int);
  72. int incip (char *);
  73. int decip (char *);
  74. int rawsock (int);
  75. int psock (void);
  76. unsigned int inet_gethostaddr (void);
  77. unsigned int inet_local (void);
  78. void ethsrc (struct eth *eh, char *addr);
  79. void ethdst (struct eth *eh, char *addr);
  80. int lm_timed_connect (int fd, const struct sockaddr *serv_addr, socklen_t addrlen, unsigned int seconds);
  81. ssize_t lm_timed_read (int fd, unsigned char *buf, size_t count, unsigned int seconds);           
  82. void tfntransmit (unsigned long, unsigned long, int, char *);
  83. char *tfnread (int, int, int);    /* i, u, t */
  84. char *tfnread2(int, int, int, struct timeval);
  85. #ifdef LM_USE_NET2
  86. void lm_libnet_init(void);
  87. void lm_libnet_destroy(void);
  88. void tfn2k2transmit(unsigned long from, unsigned long to, int proto, char id, char *payload, int payloadsize);
  89. void lm_libpcap_init(void);
  90. void lm_libpcap_destroy(void);
  91. char *tfn2k2read(void);
  92. #endif
  93.  
  94. #endif
  95.